package copyFile01;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 利用FileReader和FileWriter拷贝文本文件
 * 字符流拷贝只能拷贝文本文件,不能拷贝纯字节文件(图片,音频,视频....)
 */
public class CopyFile01 {
    public static void main(String[] args) throws IOException {
        //method01();
        //method02();
        FileReader fr = new FileReader("day24/风景.jpg");
        FileWriter fw = new FileWriter("day24/风景_copy.jpg");
        int length;
        char[] chars = new char[1024];//一般声明为1024的整数倍
        while ((length = fr.read(chars)) != -1) {
            fw.write(chars,0,length);
        }
        fr.close();
        fw.close();
    }

    private static void method02() throws IOException {
        //1.利用FileReader和FileWriter关联源文件和目的文件
        FileReader fr = new FileReader("day24/day24笔记.java");
        FileWriter fw = new FileWriter("day24/day24笔记_copy_2.java");

        //2.利用read()和write方法进行读写
        //将内容读到一个字符数组中去,将这个字符数组写到文件中
        int length;
        char[] chars = new char[1024];//一般声明为1024的整数倍
        while ((length = fr.read(chars)) != -1) {
            fw.write(chars,0,length);
        }
        fr.close();
        fw.close();
    }

    private static void method01() throws IOException {
        //1.利用FileReader和FileWriter关联源文件和目的文件
        FileReader fr = new FileReader("day24/day24笔记.java");
        FileWriter fw = new FileWriter("day24/day24笔记_copy.java");

        //2.利用read()和write方法进行读写
        //读一个字符写一个字符
        int ch;
        while((ch=fr.read())!=-1){
            fw.write(ch);
        }

        fr.close();
        fw.close();
    }
}
